/*
    在实际的项目开发过程中，node服务器其实更多扮演的是一个"中间商"的身份。
    什么是中间商呢？举个例子，比如我们页面想要拿到服务器的数据，但是上节课我们讲了同源策略也就是跨域问题，但是这个时候我们使用node服务器当做中间件，页面向node服务器发送请求，然后node服务器把这个请求发给真实的服务器。拿到数据后再返回给页面。这就是所谓的中间商概念
*/

// 因为现在很多网页都是https协议了，所以本节我们引入https模块，别怕，用法和http一模一样的
const https = require('https')
const http = require('http')
const url = require('url')

http.createServer((req,res)=>{
    let u = url.parse(req.url)

    res.writeHead(200,{
        'Content-Type':'text/html;charset=utf8',
        'access-control-allow-origin':'*'
    })

    if(u.pathname=='/hot'){
        httpsget((data)=>{
            res.end(`${data}`)
        })
    }
}).listen(9001,()=>console.log('server start'))

function httpsget(callback){
    let data = ''

    https.get('https://i.maoyan.com/api/mmdb/movie/v3/list/hot.json?ct=%E5%8C%97%E4%BA%AC&ci=1&channelId=4',
    (res)=>{
        res.on('data',(chunk)=>{
            data+= chunk
        })

        res.on('end',()=>{
            console.log(data)
            callback(data)
        })
    })
}